﻿using strange.extensions.context.impl;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace CommonIoC
{
    public class CommonIocContext : MVCSContext
    {

        /**
         * Constructor
         */
        public CommonIocContext(MonoBehaviour contextView) : base(contextView)
        {
        }

        protected override void mapBindings()
        {


            base.mapBindings();

            // we bind a command to StartSignal since it is invoked by SignalContext (the parent class) during on Launch()

            // commandBinder.Bind<MyShotGameSignal>().To<MoveCommand>().Pooled(); // THIS IS THE NEW MAPPING!!!
            //commandBinder.Bind<ScoreChangedSignal>().To<FireCommand>();

            // commandBinder.Bind(GameEvent.ComandBindFire).To<FireCommand>();

            SceneLoadManager.Instance.TestFunc();
            BattleCreateManager.Instance.TestFunc();
            GameDataManager.Instance.TestFunc();

           



            mediationBinder.Bind<FlowchartView>().To<FlowchartMediator>();

            mediationBinder.Bind<PlayerStageManagerView>().To<PlayerStageManagerMediator>();


            //添加的
           
            mediationBinder.Bind<MainUIView>().To<MainUIMediator>();

            mediationBinder.Bind<TopButtonListPanelView>().To<TopButtonListPanelMediator>();

            mediationBinder.Bind<PersonListPanelView>().To<PersonListPanelMediator>();

            mediationBinder.Bind<PersonInfoPanelView>().To<PersonInfoPanelMediator>();

            mediationBinder.Bind<PersonZhuangBeiBagView>().To<PersonZhuangBeiBagMediator>();

            mediationBinder.Bind<PersonOneZhuangBeiView>().To<PersonOneZhuangBeiMediator>();

           // mediationBinder.Bind<TankListPanelView>().To<TankListPanelMediator>();




            mediationBinder.Bind<HelperMsgPanelView>().To<HelperMsgPanelMediator>();



            //绑定开始事件 一个startcommand
            //commandBinder.Bind(ContextEvent.START).To<FireCommand>().Once();


        }

    }

}